package com.ruoyi.user.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.user.domain.UserExtend;
import com.ruoyi.user.mapper.UserExtendMapper;
import com.ruoyi.user.service.IUserExtendService;

/**
 * 用户扩展信息Service业务层处理
 * 
 * @author DEREK
 * @date 2023-05-10
 */
@Service
public class UserExtendServiceImpl extends ServiceImpl<UserExtendMapper, UserExtend> implements IUserExtendService 
{
    @Autowired
    private UserExtendMapper userExtendMapper;

    /**
     * 查询用户扩展信息
     * 
     * @param id 用户扩展信息主键
     * @return 用户扩展信息
     */
    @Override
    public UserExtend selectUserExtendById(Long id)
    {
        return userExtendMapper.selectUserExtendById(id);
    }

    /**
     * 查询用户扩展信息列表
     * 
     * @param userExtend 用户扩展信息
     * @return 用户扩展信息
     */
    @Override
    public List<UserExtend> selectUserExtendList(UserExtend userExtend)
    {
        return userExtendMapper.selectUserExtendList(userExtend);
    }

    /**
     * 新增用户扩展信息
     * 
     * @param userExtend 用户扩展信息
     * @return 结果
     */
    @Override
    public int insertUserExtend(UserExtend userExtend)
    {
        userExtend.setCreateTime(DateUtils.getNowDate());
        return userExtendMapper.insertUserExtend(userExtend);
    }

    /**
     * 修改用户扩展信息
     * 
     * @param userExtend 用户扩展信息
     * @return 结果
     */
    @Override
    public int updateUserExtend(UserExtend userExtend)
    {
        userExtend.setUpdateTime(DateUtils.getNowDate());
        return userExtendMapper.updateUserExtend(userExtend);
    }

    /**
     * 批量删除用户扩展信息
     * 
     * @param ids 需要删除的用户扩展信息主键
     * @return 结果
     */
    @Override
    public int deleteUserExtendByIds(Long[] ids)
    {
        return userExtendMapper.deleteUserExtendByIds(ids);
    }

    /**
     * 删除用户扩展信息信息
     * 
     * @param id 用户扩展信息主键
     * @return 结果
     */
    @Override
    public int deleteUserExtendById(Long id)
    {
        return userExtendMapper.deleteUserExtendById(id);
    }
    
    @Override
	public UserExtend getUserExtendByUserId(Long id) {
		LambdaQueryWrapper<UserExtend> wrapper = new LambdaQueryWrapper<>();
		wrapper.eq(UserExtend::getUserId,id);
		return getOne(wrapper);
	}
}
